---
title: "Transcription Models"
description: "AnythingLLM supports custom audio transcription providers."
---

import { Cards } from "nextra/components";
import Image from "next/image";

<Image
  src="/images/anythingllm-setup/transcription-model-configuration/header-image.png"
  height={1080}
  width={1920}
  quality={100}
  alt="AnythingLLM Transcription Models"
/>

# Transcription Models

AnythingLLM supports custom audio transcription providers.

## Supported Transcription Model Providers

### Local Transcription Model Providers

<Cards>
  <Card title="Built-in (Xenova)" href="local/built-in">
    <Image
      src="/images/anythingllm-setup/transcription-model-configuration/local/built-in/header-image.png"
      height={1080}
      width={1920}
      quality={100}
      alt="AnythingLLM Built-in (Xenova)"
    />
  </Card>
</Cards>

### Cloud Transcription Model Providers

<Cards>
  <Card title="OpenAI" href="cloud/openai">
    <Image
      src="/images/anythingllm-setup/transcription-model-configuration/cloud/openai/header-image.png"
      height={1080}
      width={1920}
      quality={100}
      alt="OpenAI"
    />
  </Card>
</Cards>

export const Card = Object.assign(
  // Copy card component and add default props
  Cards.Card.bind(),
  {
    displayName: "Card",
    defaultProps: {
      image: true,
      arrow: true,
      target: "_self",
    },
  }
);

<style global jsx>{`
  img {
    aspect-ratio: 16/9;
    object-fit: cover;
  }
`}</style>
